package com.xj.common.bussiness.insure.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

import static org.springframework.format.annotation.DateTimeFormat.ISO.DATE;

/**
 * <p>
 * 
 * </p>
 *
 * @author Hmemb
 * @since 2017-11-20
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("tb_insure")
public class TbInsure extends Model<TbInsure> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
	@TableId(value="id", type= IdType.AUTO)
	private Integer id;
    /**
     * 投保物品价格
     */
	@TableField(value="insure_res_value")
	private BigDecimal insureResValue;
    /**
     * 投保年数
     */
	@TableField(value="insure_res_years")
	private Integer insureResYears;
    /**
     * 保费总额
     */
	@TableField(value="insure_price")
	private BigDecimal insurePrice;
    /**
     * 投保人姓名
     */
	@TableField(value="applicant_name")
	private String applicantName;
    /**
     * 身份证号
     */
	@TableField(value="identity_num")
	private String identityNum;
    /**
     * 保险人姓名
     */
	@TableField(value="insurant_name")
	private String insurantName;
    /**
     * 被保险人姓名
     */
	@TableField(value="insurant_contact")
	private String insurantContact;
    /**
     * 第一受益人姓名
     */
	@TableField(value="beneficiary_name")
	private String beneficiaryName;
    /**
     * 发票抬头
     */
	@TableField(value="invoice_title")
	private String invoiceTitle;
    /**
     * 物品购置时间
     */
	@TableField(value="res_buy_date")
	@DateTimeFormat(iso = DATE)
	private Date resBuyDate;
    /**
     * 设备品牌
     */
	@TableField(value="deviec_brand")
	private String deviecBrand;
    /**
     * 铭牌号
     */
	@TableField(value="plate_num")
	private String plateNum;
    /**
     * 发动机铭牌号
     */
	@TableField(value="engine_plate_num")
	private String enginePlateNum;
    /**
     * 保单邮寄地址
     */
	@TableField(value="warrant_receiptor_addres")
	private String warrantReceiptorAddres;
	/**
	 * 身份证正面照
	 */
	@TableField(value="identity_positive_image")
	private String identityPositiveImage;
	/**
	 * 身份证背面照
	 */
	@TableField(value="identity_opposite_image")
	private String identityOppositeImage;




	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public BigDecimal getInsureResValue() {
		return insureResValue;
	}

	public void setInsureResValue(BigDecimal insureResValue) {
		this.insureResValue = insureResValue;
	}

	public Integer getInsureResYears() {
		return insureResYears;
	}

	public void setInsureResYears(Integer insureResYears) {
		this.insureResYears = insureResYears;
	}

	public BigDecimal getInsurePrice() {
		return insurePrice;
	}

	public void setInsurePrice(BigDecimal insurePrice) {
		this.insurePrice = insurePrice;
	}

	public String getApplicantName() {
		return applicantName;
	}

	public void setApplicantName(String applicantName) {
		this.applicantName = applicantName;
	}

	public String getIdentityNum() {
		return identityNum;
	}

	public void setIdentityNum(String identityNum) {
		this.identityNum = identityNum;
	}

	public String getInsurantName() {
		return insurantName;
	}

	public void setInsurantName(String insurantName) {
		this.insurantName = insurantName;
	}

	public String getInsurantContact() {
		return insurantContact;
	}

	public void setInsurantContact(String insurantContact) {
		this.insurantContact = insurantContact;
	}

	public String getBeneficiaryName() {
		return beneficiaryName;
	}

	public void setBeneficiaryName(String beneficiaryName) {
		this.beneficiaryName = beneficiaryName;
	}

	public String getInvoiceTitle() {
		return invoiceTitle;
	}

	public void setInvoiceTitle(String invoiceTitle) {
		this.invoiceTitle = invoiceTitle;
	}

	@JsonFormat(pattern = "yyyy-MM-dd ")
	public Date getResBuyDate() {
		return resBuyDate;
	}

	public void setResBuyDate(Date resBuyDate) {
		this.resBuyDate = resBuyDate;
	}

	public String getDeviecBrand() {
		return deviecBrand;
	}

	public void setDeviecBrand(String deviecBrand) {
		this.deviecBrand = deviecBrand;
	}

	public String getPlateNum() {
		return plateNum;
	}

	public void setPlateNum(String plateNum) {
		this.plateNum = plateNum;
	}

	public String getEnginePlateNum() {
		return enginePlateNum;
	}

	public void setEnginePlateNum(String enginePlateNum) {
		this.enginePlateNum = enginePlateNum;
	}

	public String getWarrantReceiptorAddres() {
		return warrantReceiptorAddres;
	}

	public void setWarrantReceiptorAddres(String warrantReceiptorAddres) {
		this.warrantReceiptorAddres = warrantReceiptorAddres;
	}

	public String getIdentityPositiveImage() {
		return identityPositiveImage;
	}

	public void setIdentityPositiveImage(String identityPositiveImage) {
		this.identityPositiveImage = identityPositiveImage;
	}

	public String getIdentityOppositeImage() {
		return identityOppositeImage;
	}

	public void setIdentityOppositeImage(String identityOppositeImage) {
		this.identityOppositeImage = identityOppositeImage;
	}
}
